题目
本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符_分开,使得更清晰 3. 把单词中间有多个空格的调整为1个空格。 4. 例如: 用户输入: you and me what cpp2005program 则程序输出: You And Me What Cpp_2005_program 用户输入: this is a 99cat 则程序输出: This Is A 99_cat 我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。 假设用户输入的串长度不超过200个字符。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113160228363.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113160741246.png)
实现方法一:
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
@SuppressWarnings("resource")
public static void main(String args[]){
String str="";
str=(new Scanner(System.in)).nextLine();
String []str1=str.split("[ ]+");
for(int i=0;i
int start=m.start();
int end=m.end();
fin+=s.substring(st,start);
if(s.charAt(start-1)!=' ')fin+="_";
fin+=m.group(1);
if(s.charAt(end)!=' ')fin+="_";
st=end;
}
if(st
Scanner scanner=new Scanner(System.in);
String string=scanner.nextLine();
Vectorvector=new Vector();
for (int i = 0; i
int index=0;
while (index
vector.set(index, (char)(vector.elementAt(index)-('a'-'A')));
}else if(vector.elementAt(index-1)==' '&&vector.elementAt(index)==' '){
vector.remove(index);
index--;
}else if (vector.elementAt(index-1)==' '&&(vector.elementAt(index)>='a'&&vector.elementAt(index)
vector.add(index, '_');
index++;
}else if((vector.elementAt(index-1)>='a'&&vector.elementAt(index-1)='0'&&vector.elementAt(index)
System.out.print(vector.elementAt(i));
}
System.out.println();
} catch (ArrayIndexOutOfBoundsException e) {
}
}
}
实现方法三:
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void print(String[] s){
for(int i=0;i
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
String[] ss = s.split("[\\s]+");
for(int i=0;i
String num = new String(m.group());
String num2 = num;
num2 = "_"+num+"_"; // 数字前添加"_"
ss[i] = ss[i].replace(num, num2);
if(ss[i].startsWith("_")){ // 去头"_"
ss[i] = ss[i].substring(1);
}
if(ss[i].endsWith("_")){ // 去尾"_"
ss[i] = ss[i].substring(0,ss[i].length()-1);
}
}
}
print(ss);
}
}
|